home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-11-30 | 43.6 KB | 1,501 lines |
- OK, here's the *official* diffs to update Wanderer V2.0(M) to V2.2(M).
- (Please don't ask what happened to version 2.1 ...). The sharfile contains
- a file of diffs for most of the source files, a new file encrypt.c, a few more
- screens and a README file explaining all the alterations.
-
- Changes include a number of small -> large bugfixes, extra facilities -
- eg refresh screen, swap between modes, center screen, more help - , a fix for
- the 'stunned' baby monsters ( those moving in small circles ) and also the
- addition of 'balloons' to the game ( see screen.23 ). All of the changes
- are documented in the README file.
-
- -Steven Shipway
-
- maujp@uk.ac.warwick.cu ( in preference )
- csupt@uk.ac.warwick.cu
- ...!mcvax!ukc!warwick!{maujp,csupt}
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of shell archive."
- # Contents: README2.2 credits encrypt.c patches01 screen.16 screen.21
- # screen.22 screen.23
- # Wrapped by billr@saab on Tue Nov 29 17:01:57 1988
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'README2.2' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README2.2'\"
- else
- echo shar: Extracting \"'README2.2'\" \(1522 characters\)
- sed "s/^X//" >'README2.2' <<'END_OF_FILE'
- XOK, here are the major alterations:
- X
- X1) Unless NO_ENCRYPTION has been #def'd then saved games are encrypted.
- X This means an extra source file.
- X2) Lots of cosmetic changes, tidying up messy displaying.
- X3) Extra keys:
- X In Game - @ --- moves you to center of screen
- X # --- toggle between normal and fullscreen
- X W --- redraw screen
- X In Editor - x --- quit edit without saving
- X4) (BIG CHANGE) New object - balloons. These fall up, and are popped by
- X arrows. Also, they kill neither you nor the monster. I havent made any
- X screens involving these, though - maybe you can design a few?
- X5) Help file extended to include info about environment variables, new
- X keys and features.
- X6) Baby monsters can no longer be 'stunned' - trapped in tiny circles -
- X unless you try very hard to get them that way....
- X This cures a bug that Ive been thinking about for ages, and also makes
- X screen 18 a bit easier.
- X7) The -e flag (enter editor) can now take an optional argument. If given,
- X it will take this as the file to be edited. eg, 'wanderer -e screen.1'
- X will edit the file 'screen.1' instead of 'screen' (the default).
- X8) You can no longer sneak off the top of some screens (apparently this
- X is possible on some systems)
- X9) Bug in editor that caused the problem on one of the screens has been
- X fixed.
- X
- XAlso, there should be a few extra screens and a new credits file in here.
- X
- X-Steve
- X{maujp,csupt}@uk.ac.warwick.cu
- X...!mcvax!ukc!warwick!{maujp,csupt}
- END_OF_FILE
- if test 1522 -ne `wc -c <'README2.2'`; then
- echo shar: \"'README2.2'\" unpacked with wrong size!
- fi
- # end of 'README2.2'
- fi
- if test -f 'credits' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'credits'\"
- else
- echo shar: Extracting \"'credits'\" \(2686 characters\)
- sed "s/^X//" >'credits' <<'END_OF_FILE'
- X WANDERER CREDITS
- X ==================
- X
- XThis file should always be available to all players of the game. Feel free to
- Xadd anything necessary, eg, if you create some new screens, but don't *delete*
- Xanything! -Steven Shipway
- X
- X-----------------------------------------------------------------------------
- X
- X Wanderer was created by Steven Shipway, a first year mathematics
- Xstudent at Warwick University, England. The idea came from games such as
- XBoulderdash, Xor, and especially Repton, from Superior Software. (plug, plug)
- X
- X Later improvements came from play@nl.cwi, who designed the editor
- Xand made countless bugfixes, of which there are too many to list here. He
- Xalso improved many parts of the original code, and also designed some
- Xscreens. Also Dave (david@ist.co.uk), who did most of the work towards the
- Ximproved level jumping routine (sorry, I had to alter it a bit due to other
- Xchanges). Jason (jason@uucp.aeras) is responsible for the help routine, for
- Xwhich I am eternally grateful since it saved me a lot of work.
- X
- X Assisting in the development were Rob McMahon (our systems manager)
- Xand Mark Sunnarks. In screen development were the following:
- X
- XScreens 1,2,3,4,7,8,10,16,23 Steven Shipway (although some of them are AWFUL)
- XScreens 5,6 csutg@uk.ac.warwick.cu (far more evil than mine)
- XScreen 9 maukr@uk.ac.warwick.cu (also the old bugged screen 13)
- XScreens 11,13,14,19,20 play@nl.cwi (who wishes to remain nameless to avoid
- X the netherlands mafia :-)
- XScreen 17 david@ist.co.uk (sorry, I dont know your full name)
- XScreen 15 bruce@au.oz.utas.tasis (from Down Under)
- XScreen 18 '' (relation, age 10)
- XScreens 21,22 jn@uk.ac.ukc (who created the archimedes port)
- X
- XAny new screens you wish to have added to the list please mail to me for
- Xrelease in a official update package. The address is
- X{maujp,csupt}@uk.ac.warwick.cu or ...!mcvax!ukc!warwick!{maujp,csupt}.
- X
- XThe official PC Port for Wanderer was done by Greg Margo, who may be found at
- Xgmago@uucp.netxcom or uunet!netxcom!gmargo.
- X
- XThe X-Windows port - which is pretty impressive - comes from Mike Cuddy.
- XHis address is cuddy%convex@edu.umich.cc.umix or ihnp4!convex!cuddy. Although
- XI haven't been able to see this one for myself a friend assures me that the
- Xgraphics are fantastic.
- X
- XThe Acorn Archimedes port was done by Max Rockatansky, jn@uk.ac.ukc . Mail him
- Xif you want a copy.
- X
- XAlso thanks to Paul Metcalf for thinking of a name for the game!
- X
- XIf you missed some of this, try again with 'wanderer -c | more' .
- END_OF_FILE
- if test 2686 -ne `wc -c <'credits'`; then
- echo shar: \"'credits'\" unpacked with wrong size!
- fi
- # end of 'credits'
- fi
- if test -f 'encrypt.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'encrypt.c'\"
- else
- echo shar: Extracting \"'encrypt.c'\" \(1173 characters\)
- sed "s/^X//" >'encrypt.c' <<'END_OF_FILE'
- X#include "wand_head.h"
- X
- X/* Uses seeded random xor to encrypt because setkey doesnt work on our
- X system. */
- X
- X/* this is the randon number seed */
- X#define BLURFL 32451 /* the word blurfl is used for historical reasons */
- X /* but it can be any nuber */
- Xcrypt_file(name)
- Xchar *name;
- X{
- Xchar buffer[1024];
- Xint fd,length,loop;
- X
- Xif((fd = open(name,O_RDONLY)) == -1) {
- X endwin();
- X sprintf(buffer,"Wanderer: cannot open %s",name);
- X perror(buffer);
- X exit(1);
- X}
- Xif((length = read(fd,buffer,1024)) < 1) {
- X endwin();
- X sprintf(buffer,"Wanderer: read error on %s",name);
- X perror(buffer);
- X exit(1);
- X}
- Xclose(fd);
- X
- X/* Right, got it in here, now to encrypt the stuff */
- X
- Xaddstr("Running crypt routine...\n");
- Xrefresh();
- X
- Xsrand(BLURFL);
- Xfor(loop=0;loop<length;loop++)
- X buffer[loop]^=rand();
- X
- Xif((fd = open(name,O_WRONLY|O_TRUNC))== -1) {
- X endwin();
- X sprintf(buffer,"Wanderer: cannot write to %s",name);
- X perror(buffer);
- X exit(1);
- X}
- Xif(write(fd,buffer,length)!=length) {
- X endwin();
- X sprintf(buffer,"Wanderer: write error on %s",name);
- X perror(buffer);
- X exit(1);
- X}
- Xclose(fd);
- X
- X/* ok, file now contains encrypted/decrypted game. */
- X/* lets go back home... */
- X}
- END_OF_FILE
- if test 1173 -ne `wc -c <'encrypt.c'`; then
- echo shar: \"'encrypt.c'\" unpacked with wrong size!
- fi
- # end of 'encrypt.c'
- fi
- if test -f 'patches01' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'patches01'\"
- else
- echo shar: Extracting \"'patches01'\" \(30930 characters\)
- sed "s/^X//" >'patches01' <<'END_OF_FILE'
- X*** Makefile.orig Tue Nov 29 16:43:18 1988
- X--- Makefile Tue Nov 29 16:44:07 1988
- X***************
- X*** 2,8 ****
- X # modified again by play@cwi.nl
- X # and again by me.. maujp@uk.ac.warwick.cu
- X
- X! OBJ = m.o save.o jump.o display.o icon.o game.o read.o help.o fall.o scores.o edit.o
- X
- X CFLAGS = -O
- X LIBS = -lcurses -ltermcap
- X--- 2,8 ----
- X # modified again by play@cwi.nl
- X # and again by me.. maujp@uk.ac.warwick.cu
- X
- X! OBJ = m.o save.o jump.o display.o icon.o game.o read.o help.o fall.o scores.o edit.o encrypt.o
- X
- X CFLAGS = -O
- X LIBS = -lcurses -ltermcap
- X*** display.c.orig Tue Nov 29 16:43:20 1988
- X--- display.c Tue Nov 29 16:44:16 1988
- X***************
- X*** 26,35 ****
- X addch(ch);
- X }
- X else
- X! if(ch==' '||ch=='#'||ch=='<'||ch=='>'||ch=='O'||ch==':'||
- X ch=='/'||ch=='\\'||ch=='*'||ch=='='||ch=='@'||ch=='T'||
- X ch=='X'||ch=='!'||ch=='M'||ch=='S'||ch=='C'||ch=='+'||
- X! ch=='A')
- X addch(ch);
- X else
- X addch('"');
- X--- 26,35 ----
- X addch(ch);
- X }
- X else
- X! if(ch==' '||ch=='#'||ch=='<'||ch=='>'||ch=='O'||ch==':'||
- X ch=='/'||ch=='\\'||ch=='*'||ch=='='||ch=='@'||ch=='T'||
- X ch=='X'||ch=='!'||ch=='M'||ch=='S'||ch=='C'||ch=='+'||
- X! ch=='A'||ch=='^')
- X addch(ch);
- X else
- X addch('"');
- X***************
- X*** 114,117 ****
- X--- 114,151 ----
- X } /* end y loop */
- X move(16,0);
- X refresh();
- X+ }
- X+ void redraw_screen(maxmoves,num,score,nf,diamonds,mx,sx,sy,frow)
- X+ int maxmoves,num,score,nf,diamonds,mx,sx,sy;
- X+ char **frow;
- X+ {
- X+ char buffer[50];
- X+ clear();
- X+ move(0,48);
- X+ (void) addstr("Score\t Diamonds");
- X+ move(1,48);
- X+ (void) addstr("\tFound\tTotal");
- X+ move(3,48);
- X+ (void) sprintf(buffer,"%d\t %d\t %d ",score,nf,diamonds);
- X+ (void) addstr(buffer);
- X+ move(6,48);
- X+ (void) sprintf(buffer,"Current screen %d",num);
- X+ (void) addstr(buffer);
- X+ if(maxmoves != 0)
- X+ (void) sprintf(buffer,"Moves remaining = %d ",maxmoves);
- X+ else
- X+ {
- X+ (void) strcpy(buffer," Unlimited moves ");
- X+ maxmoves = -1;
- X+ };
- X+ move(15,48);
- X+ (void) addstr(buffer);
- X+ if(mx != -1) /* tell player if monster exists */
- X+ draw_symbol(48,10,'M');
- X+ else
- X+ draw_symbol(48,10,' ');
- X+ if(!debug_disp)
- X+ display(sx,sy,frow,score);
- X+ else
- X+ map(frow);
- X }
- X*** edit.c.orig Tue Nov 29 16:43:08 1988
- X--- edit.c Tue Nov 29 16:44:20 1988
- X***************
- X*** 3,15 ****
- X extern char *playscreen();
- X
- X extern int debug_disp;
- X extern char screen[NOOFROWS][ROWLEN+1];
- X
- X- /* Print instructions around the screen */
- X- void instruct()
- X- {
- X static char *inst[] = { "O Boulder",
- X "< > Arrows",
- X ": Earth",
- X "! Landmine",
- X "* Treasure",
- X--- 3,14 ----
- X extern char *playscreen();
- X
- X extern int debug_disp;
- X+ extern char *edit_screen;
- X extern char screen[NOOFROWS][ROWLEN+1];
- X
- X static char *inst[] = { "O Boulder",
- X "< > Arrows",
- X+ "^ Balloon",
- X ": Earth",
- X "! Landmine",
- X "* Treasure",
- X***************
- X*** 16,22 ****
- X "/ \\ Deflectors",
- X "+ Cage",
- X "= # Rock",
- X! "T Teleport (1 max)",
- X "A Arrival (1 max)",
- X "X Exit (always 1)",
- X "@ Start (always 1)",
- X--- 15,21 ----
- X "/ \\ Deflectors",
- X "+ Cage",
- X "= # Rock",
- X! "T Teleport",
- X "A Arrival (1 max)",
- X "X Exit (always 1)",
- X "@ Start (always 1)",
- X***************
- X*** 23,48 ****
- X "M Big Monster (1 max)",
- X "S Baby Monster",
- X "- Alternative space",
- X! "C Time Capsule" };
- X int loop;
- X! for(loop = 1;loop < 17; loop++)
- X {
- X! move(loop,55);
- X! addstr(inst[loop-1]);
- X }
- X! move(21,0);
- X! addstr("Use wanderer keys to move. q = quit, p/n = play, m = change no. of moves.");
- X }
- X
- X void noins()
- X {
- X int loop;
- X! for(loop =1;loop < 17; loop++)
- X {
- X! move(loop,55);
- X addstr(" ");
- X }
- X! move(21,0);
- X addstr(" ");
- X }
- X
- X--- 22,53 ----
- X "M Big Monster (1 max)",
- X "S Baby Monster",
- X "- Alternative space",
- X! "C Time Capsule",
- X! NULL };
- X! /* Print instructions around the screen */
- X! void instruct()
- X! {
- X int loop;
- X! for(loop = 0; inst[loop] ; loop++)
- X {
- X! move(loop+1,55);
- X! addstr(inst[loop]);
- X }
- X! move(20,0);
- X! addstr("Use wanderer keys to move. m = change no. of moves, p = play game\n");
- X! addstr("n = play game with full screen, q = quit, x = quit without save.");
- X }
- X
- X void noins()
- X {
- X int loop;
- X! for(loop =0; inst[loop] ; loop++)
- X {
- X! move(loop+1,55);
- X addstr(" ");
- X }
- X! move(20,0);
- X! addstr(" \n");
- X addstr(" ");
- X }
- X
- X***************
- X*** 54,60 ****
- X *score;
- X char keys[10];
- X {
- X! int x,y,sx=0,sy=0,quit=0,nx,ny;
- X char (*frow)[ROWLEN+1] = screen,
- X ch;
- X char buffer[50];
- X--- 59,65 ----
- X *score;
- X char keys[10];
- X {
- X! int x,y,sx=0,sy=0,quit=0,nx,ny,nosave =0;
- X char (*frow)[ROWLEN+1] = screen,
- X ch;
- X char buffer[50];
- X***************
- X*** 107,116 ****
- X }
- X else if(ch == 'q')
- X {
- X! move(19,0);
- X! addstr(" ");
- X break;
- X }
- X else if(ch == 'm') /* change to number of moves for the screen */
- X {
- X move(19,0);
- X--- 112,141 ----
- X }
- X else if(ch == 'q')
- X {
- X! noins();
- X break;
- X }
- X+ else if(ch == 'x')
- X+ {
- X+ noins();
- X+ move(20,0);
- X+ addstr("You will lose any changes made this session - sre you sure? (y/n)");
- X+ refresh();
- X+ ch = getch();
- X+ if(ch != 'y')
- X+ {
- X+ noins();
- X+ instruct();
- X+ refresh();
- X+ }
- X+ else
- X+ {
- X+ nosave = 1;
- X+ addstr("\n");
- X+ refresh();
- X+ break;
- X+ }
- X+ }
- X else if(ch == 'm') /* change to number of moves for the screen */
- X {
- X move(19,0);
- X***************
- X*** 132,138 ****
- X else if(ch == 'p' || ch == 'n') /* play the game (test) */
- X {
- X noins();
- X! wscreen(num,maxmoves);
- X if(ch == 'p')
- X {
- X debug_disp = 0;
- X--- 157,163 ----
- X else if(ch == 'p' || ch == 'n') /* play the game (test) */
- X {
- X noins();
- X! wscreen(num,maxmoves);
- X if(ch == 'p')
- X {
- X debug_disp = 0;
- X***************
- X*** 181,192 ****
- X y=ny;
- X }
- X
- X! for(y = 0; y<NOOFROWS;y++) /* certain editors - eg ded - have a */
- X! /* habit of truncating trailing spaces*/
- X! /* so this should stop them! */
- X! if(screen[y][ROWLEN-1] == ' ')
- X! screen[y][ROWLEN-1] = '-';
- X! wscreen(num,maxmoves);
- X move(20,0);
- X refresh();
- X }
- X--- 206,221 ----
- X y=ny;
- X }
- X
- X! if(! nosave)
- X! {
- X! for(y = 0; y<=NOOFROWS;y++) /* certain editors - eg ded - have a */
- X! /* habit of truncating trailing spaces*/
- X! /* so this should stop them! */
- X! if(screen[y][ROWLEN-1] == ' ')
- X! screen[y][ROWLEN-1] = '-';
- X! wscreen(num,maxmoves);
- X! }
- X! noins();
- X move(20,0);
- X refresh();
- X }
- X*** fall.c.orig Tue Nov 29 16:43:09 1988
- X--- fall.c Tue Nov 29 16:44:26 1988
- X***************
- X*** 26,36 ****
- X int x,y,sx,sy, *mx, *my;
- X char howdead[25];
- X {
- X! int nx = x,nyl = y,nyr = y,retval = 0;
- X if ((y>(NOOFROWS-1))||(y<0)||(x<0)||(x>(ROWLEN-1)))
- X return(0);
- X if((screen[y][x] != 'O') && (screen[y][x] != ' ') && (screen[y][x] != 'M') &&
- X! (screen[y][x] !='\\') && (screen[y][x] != '/') && (screen[y][x] != '@'))
- X return(0);
- X if(screen[y][x] == 'O')
- X {
- X--- 26,37 ----
- X int x,y,sx,sy, *mx, *my;
- X char howdead[25];
- X {
- X! int nx = x,nxu = x,nyl = y,nyr = y,retval = 0;
- X if ((y>(NOOFROWS-1))||(y<0)||(x<0)||(x>(ROWLEN-1)))
- X return(0);
- X if((screen[y][x] != 'O') && (screen[y][x] != ' ') && (screen[y][x] != 'M') &&
- X! (screen[y][x] !='\\') && (screen[y][x] != '/') && (screen[y][x] != '@') &&
- X! (screen[y][x] != '^'))
- X return(0);
- X if(screen[y][x] == 'O')
- X {
- X***************
- X*** 43,48 ****
- X--- 44,58 ----
- X else
- X nx = -1;
- X }
- X+ if((screen[y][x-1] == ' ') && (screen[y+1][x-1] == ' '))
- X+ nxu--;
- X+ else
- X+ {
- X+ if((screen[y][x+1] == ' ') && (screen[y+1][x+1] == ' '))
- X+ nxu++;
- X+ else
- X+ nxu = -1;
- X+ }
- X if((screen[y-1][x] == ' ') && (screen[y-1][x+1] == ' '))
- X nyr--;
- X else
- X***************
- X*** 66,71 ****
- X--- 76,83 ----
- X {
- X if(screen[y-1][++nx] != ' ')
- X nx = -1;
- X+ if(screen[y+1][--nxu] != ' ')
- X+ nxu = -1;
- X if(screen[--nyr][x+1] != ' ')
- X nyr = -1;
- X if(screen[++nyl][x-1] != ' ')
- X***************
- X*** 75,80 ****
- X--- 87,94 ----
- X {
- X if(screen[y-1][--nx] != ' ')
- X nx = -1;
- X+ if(screen[y+1][++nxu] != ' ')
- X+ nxu = -1;
- X if(screen[++nyr][x+1] != ' ')
- X nyr = -1;
- X if(screen[--nyl][x-1] != ' ')
- X***************
- X*** 82,88 ****
- X }
- X if((screen[y][nx] != ' ') && (screen[y][nx] != 'M'))
- X nx = -1;
- X! if((screen[y-1][x] == 'O') && (nx >= 0) && (y > 0)) /* boulder falls ? */
- X {
- X screen[y-1][x] = ' ';
- X if(screen[y][nx] == '@')
- X--- 96,103 ----
- X }
- X if((screen[y][nx] != ' ') && (screen[y][nx] != 'M'))
- X nx = -1;
- X! if((screen[y-1][x] == 'O') && (nx >= 0) && (y > 0) &&
- X! (screen[y][nx] != '^')) /* boulder falls ? */
- X {
- X screen[y-1][x] = ' ';
- X if(screen[y][nx] == '@')
- X***************
- X*** 124,130 ****
- X screen[y+1][nx] = ' ';
- X }
- X }
- X! if((screen[nyr][x] != ' ')&&(screen[nyr][x] != 'M'))
- X nyr = -1;
- X if((screen[y][x+1] == '<')&&(nyr>=0)&&(x+1<ROWLEN)) /* arrow moves ( < ) ? */
- X {
- X--- 139,145 ----
- X screen[y+1][nx] = ' ';
- X }
- X }
- X! if((screen[nyr][x] != '^')&&(screen[nyr][x] != ' ')&&(screen[nyr][x] != 'M'))
- X nyr = -1;
- X if((screen[y][x+1] == '<')&&(nyr>=0)&&(x+1<ROWLEN)) /* arrow moves ( < ) ? */
- X {
- X***************
- X*** 168,174 ****
- X screen[nyr][x-1] = ' ';
- X }
- X }
- X! if((screen[nyl][x] != ' ')&&(screen[nyl][x] != 'M'))
- X nyl = -1;
- X if((screen[y][x-1] == '>')&&(nyl>=0)&&(x>0)) /* arrow moves ( > ) ? */
- X {
- X--- 183,189 ----
- X screen[nyr][x-1] = ' ';
- X }
- X }
- X! if((screen[nyl][x] != ' ')&&(screen[nyl][x] != '^')&&(screen[nyl][x] != 'M'))
- X nyl = -1;
- X if((screen[y][x-1] == '>')&&(nyl>=0)&&(x>0)) /* arrow moves ( > ) ? */
- X {
- X***************
- X*** 211,216 ****
- X--- 226,256 ----
- X *mx = *my = -2;
- X screen[nyl][x+1] = ' ';
- X }
- X+ }
- X+ if(screen[y][nxu] != ' ')
- X+ nxu = -1;
- X+ if((screen[y+1][x] == '^') && (nxu >= 0) && (y < NOOFROWS) &&
- X+ (screen[y][x] != '^')) /* balloon rises? */
- X+ {
- X+ screen[y+1][x] = ' ';
- X+ screen[y][nxu] = '^';
- X+ if(!debug_disp)
- X+ {
- X+ if((y<(sy+3)) && (y>(sy-5)) && (x>(sx-6)) && (x<(sx+6)))
- X+ draw_symbol((x-sx+5)*3,(y-sy+4)*2,' ');
- X+ if((y<(sy+4)) && (y>(sy-4)) && (nxu>(sx-6)) && (nxu<(sx+6)))
- X+ draw_symbol((nxu-sx+5)*3,(y-sy+3)*2,'^');
- X+ }
- X+ else
- X+ {
- X+ move(y+2,x+1);
- X+ addch(' ');
- X+ move(y+1,nxu+1);
- X+ addch('^');
- X+ }
- X+ refresh();
- X+ retval+=fall(mx,my,nxu ,y-1,sx,sy,howdead);
- X+ retval+=check(mx,my,x,y+1,0,-1,sx,sy,howdead);
- X }
- X if(retval>0)
- X return(1);
- X*** game.c.orig Tue Nov 29 16:43:11 1988
- X--- game.c Tue Nov 29 16:44:31 1988
- X***************
- X*** 1,7 ****
- X #include "wand_head.h"
- X
- X #define viable(x,y) (((screen[y][x] == ' ') || (screen[y][x] == ':') ||\
- X! (screen[y][x] == '@') || (screen[y][x] == '+')) && (y >= 0) &&\
- X (x >= 0) && (y < NOOFROWS) && (x < ROWLEN))
- X
- X /* typedef struct mon_rec *//* M002 struct mon_rec moved */
- X--- 1,8 ----
- X #include "wand_head.h"
- X
- X #define viable(x,y) (((screen[y][x] == ' ') || (screen[y][x] == ':') ||\
- X! (screen[y][x] == '@') || (screen[y][x] == '+') ||\
- X! (screen[y][x] == 'S')) && (y >= 0) &&\
- X (x >= 0) && (y < NOOFROWS) && (x < ROWLEN))
- X
- X /* typedef struct mon_rec *//* M002 struct mon_rec moved */
- X***************
- X*** 33,38 ****
- X--- 34,40 ----
- X
- X extern void map();
- X
- X+ extern void redraw_screen();
- X extern int debug_disp;
- X extern int edit_mode;
- X extern int saved_game;
- X***************
- X*** 131,137 ****
- X {
- X int x,y,nx,ny,deadyet =0,
- X sx = -1,sy = -1,tx = -1,ty = -1,lx = 0,ly = 0,mx = -1,my = -1,
- X! bx, by, nbx, nby,
- X newnum,
- X max_score = 250,
- X diamonds = 0, nf = 0,hd ,vd ,xdirection,ydirection;
- X--- 133,139 ----
- X {
- X int x,y,nx,ny,deadyet =0,
- X sx = -1,sy = -1,tx = -1,ty = -1,lx = 0,ly = 0,mx = -1,my = -1,
- X! bx, by, nbx, nby, tmpx,tmpy,
- X newnum,
- X max_score = 250,
- X diamonds = 0, nf = 0,hd ,vd ,xdirection,ydirection;
- X***************
- X*** 249,261 ****
- X nx=x;
- X ny=y;
- X
- X! if(ch == keys[3]) /* move about - but thats obvious */
- X nx++;
- X! if(ch == keys[2])
- X nx--;
- X! if((ch == keys[1]) && (y<(NOOFROWS-1)))
- X ny++;
- X! if(ch == keys[0])
- X ny--;
- X if(ch == '1') /* Add or get rid of that awful sound */
- X {
- X--- 251,263 ----
- X nx=x;
- X ny=y;
- X
- X! if((ch == keys[3]) && (x <(ROWLEN-1))) /* move about - but thats obvious */
- X nx++;
- X! if((ch == keys[2]) && (x > 0))
- X nx--;
- X! if((ch == keys[1]) && (y <(NOOFROWS-1)))
- X ny++;
- X! if((ch == keys[0]) && (y > 0))
- X ny--;
- X if(ch == '1') /* Add or get rid of that awful sound */
- X {
- X***************
- X*** 305,313 ****
- X--- 307,348 ----
- X if(ch == '?')
- X {
- X helpme();
- X+ if(debug_disp)
- X+ map(frow);
- X+ else
- X+ display(sx,sy,frow,*score);
- X+ continue;
- X+ }
- X+ if((ch == '@')&&(!debug_disp))
- X+ {
- X+ sx = x;
- X+ sy = y;
- X display(sx,sy,frow,*score);
- X continue;
- X }
- X+ if(ch == '#')
- X+ {
- X+ debug_disp = 1 - debug_disp;
- X+ if(debug_disp)
- X+ map(frow);
- X+ else
- X+ {
- X+ for(tmpy=0;tmpy<=(NOOFROWS+1);tmpy++)
- X+ {
- X+ move(tmpy,0);
- X+ for(tmpx=0;tmpx<=(ROWLEN+2);tmpx++)
- X+ addch(' ');
- X+ }
- X+ sx = x; sy = y;
- X+ display(sx,sy,frow,*score);
- X+ }
- X+ continue;
- X+ }
- X+ if(ch == 'W')
- X+ {
- X+ redraw_screen(maxmoves,*num,*score,nf,diamonds,mx,sx,sy,frow);
- X+ continue;
- X+ }
- X
- X /* M002 Added save/restore game feature. Gregory H. Margo */
- X if(ch == 'S') /* save game */
- X***************
- X*** 463,468 ****
- X--- 498,536 ----
- X x = nx;
- X }
- X break;
- X+ case '^':
- X+ if(screen[y][nx*2-x] == ' ')
- X+ {
- X+ screen[y][nx*2-x] = '^';
- X+ screen[y][x] = ' ';
- X+ screen[ny][nx] = '@';
- X+ if(!debug_disp)
- X+ {
- X+ draw_symbol((x-sx+5)*3,(y-sy+3)*2,' ');
- X+ draw_symbol((nx-sx+5)*3,(ny-sy+3)*2,'@');
- X+ if(nx*2-x>sx-6&&nx*2-x<sx+6)
- X+ draw_symbol((nx*2-x-sx+5)*3,(y-sy+3)*2,'^');
- X+ }
- X+ else
- X+ {
- X+ move(y+1,x+1);
- X+ addch(' ');
- X+ move(ny+1,nx+1);
- X+ addch('@');
- X+ move(y+1,nx*2-x+1);
- X+ addch('^');
- X+ }
- X+ deadyet += fall(&mx,&my,nx*2-x,y-1,sx,sy,howdead);
- X+ deadyet += fall(&mx,&my,x*2-nx,y,sx,sy,howdead);
- X+ deadyet += fall(&mx,&my,x,y,sx,sy,howdead);
- X+ deadyet += fall(&mx,&my,x,y+1,sx,sy,howdead);
- X+ deadyet += fall(&mx,&my,x,y-1,sx,sy,howdead);
- X+ move(16,0);
- X+ refresh();
- X+ y = ny;
- X+ x = nx;
- X+ }
- X+ break;
- X case '<':
- X case '>':
- X if(screen[ny*2-y][x] == 'M')
- X***************
- X*** 718,730 ****
- X refresh();
- X }
- X
- X! current = &start_of_list;
- X while((current != tail_of_list)&&(!deadyet))
- X /* deal with those little monsters */
- X {
- X monster = current->next;
- X new_disp = new_direction( monster->x, monster->y, monster->mx, monster->my );
- X! if(monster->under!='S')
- X {
- X screen[monster->y][monster->x] = monster->under;
- X if(!debug_disp)
- X--- 786,798 ----
- X refresh();
- X }
- X
- X! current = &start_of_list; /* baby monsters now */
- X while((current != tail_of_list)&&(!deadyet))
- X /* deal with those little monsters */
- X {
- X monster = current->next;
- X new_disp = new_direction( monster->x, monster->y, monster->mx, monster->my );
- X! if(monster->under!='S') /* if on top of another baby */
- X {
- X screen[monster->y][monster->x] = monster->under;
- X if(!debug_disp)
- X*** help.c.orig Tue Nov 29 16:43:21 1988
- X--- help.c Tue Nov 29 16:44:35 1988
- X***************
- X*** 10,24 ****
- X " Collect all the treasure: /$\\ ", /* 4 */
- X " \\$/ ", /* 5 */
- X " Then go through the exit: Way ", /* 6 */
- X! " Default keys are: out ", /* 7 */
- X " h Left j Down ", /* 8 */
- X " k Up l Right ", /* 9 */
- X " 1 Loud q Quit game ", /* 10 */
- X " 0 Quiet ! Look at map ", /* 11 */
- X " S Save game R Restore Game ", /* 12 */
- X! " ? Enter help mode ", /* 13 */
- X! " ~ Jump to next level ", /* 14 */
- X! " (does not receive level bonus)", /* 15 */
- X
- X "This is you: You are a spider. ", /* 0 */
- X " o (At least, that's ", /* 1 */
- X--- 10,24 ----
- X " Collect all the treasure: /$\\ ", /* 4 */
- X " \\$/ ", /* 5 */
- X " Then go through the exit: Way ", /* 6 */
- X! " out ", /* 7 */
- X " h Left j Down ", /* 8 */
- X " k Up l Right ", /* 9 */
- X " 1 Loud q Quit game ", /* 10 */
- X " 0 Quiet ! Look at map ", /* 11 */
- X " S Save game R Restore Game ", /* 12 */
- X! " ? Help mode @ Center screen ", /* 13 */
- X! " ~ Jump level # Switch mode ", /* 14 */
- X! " nb: No level bonus for jumping. ", /* 15 */
- X
- X "This is you: You are a spider. ", /* 0 */
- X " o (At least, that's ", /* 1 */
- X***************
- X*** 58,65 ****
- X "is captured and you get 50 points. ", /* 1 */
- X "The cage also becomes a diamond. ", /* 2 */
- X " ", /* 3 */
- X! " !!! and I Instant annihilation ", /* 4 */
- X! " !!! o ", /* 5 */
- X " ", /* 6 */
- X " \\_ _/ Slopes (boulders ", /* 7 */
- X " \\ and / and etc slide off) ", /* 8 */
- X--- 58,65 ----
- X "is captured and you get 50 points. ", /* 1 */
- X "The cage also becomes a diamond. ", /* 2 */
- X " ", /* 3 */
- X! " I Instant annihilation ", /* 4 */
- X! " o ", /* 5 */
- X " ", /* 6 */
- X " \\_ _/ Slopes (boulders ", /* 7 */
- X " \\ and / and etc slide off) ", /* 8 */
- X***************
- X*** 70,75 ****
- X--- 70,91 ----
- X " ", /* 3 */
- X " Way Exit -- Must Collect all the ", /* 4 */
- X " out treasure first. (250 bonus) ", /* 5 */
- X+ " /~\\ A new addition for version ", /* 0 */
- X+ " \\_X 2.2M . The balloon rises, ", /* 1 */
- X+ " and is popped by arrows. It ", /* 2 */
- X+ " does *not* kill you. ", /* 3 */
- X+ " ", /* 4 */
- X+ " OOO Unrecognised symbol in map. ", /* 5 */
- X+ " OOO This is probably a **bug** ! ", /* 6 */
- X+ " ", /* 7 */
- X+ " ENVIRONMENT VARIABLES: ", /* 8 */
- X+ " ", /* 9 */
- X+ " NEWNAME,NAME : Checked in that ", /* 0 */
- X+ " order for the hiscore table ", /* 1 */
- X+ " NEWKEYS : Redefine movement keys", /* 2 */
- X+ " eg- 'hlkj' for default ", /* 3 */
- X+ " SAVENAME : File used for saved ", /* 4 */
- X+ " games. ", /* 5 */
- X };
- X
- X
- X***************
- X*** 81,87 ****
- X char *ptr; /* pointer in array.. */
- X char ch;
- X
- X! for(i1 = 0; i1 < 4; i1++) /* times to show loop. */
- X {
- X for(i = 0; i < 16; i++) /* show one menu. */
- X {
- X--- 97,103 ----
- X char *ptr; /* pointer in array.. */
- X char ch;
- X
- X! for(i1 = 0; i1 < 5; i1++) /* times to show loop. */
- X {
- X for(i = 0; i < 16; i++) /* show one menu. */
- X {
- X*** icon.c.orig Tue Nov 29 16:43:22 1988
- X--- icon.c Tue Nov 29 16:44:40 1988
- X***************
- X*** 9,83 ****
- X (*iconrow)[4] = icon;
- X switch(ch)
- X {
- X! case ' ':
- X! strcpy((*iconrow++)," ");
- X! strcpy((*iconrow)," ");
- X break;
- X! case '#':
- X strcpy(*iconrow++,"###");
- X! strcpy(*iconrow,"###");
- X break;
- X! case '<':
- X strcpy(*iconrow++,"<--");
- X! strcpy(*iconrow,"<--");
- X break;
- X case '>':
- X strcpy(*iconrow++,"-->");
- X! strcpy(*iconrow,"-->");
- X break;
- X! case 'O':
- X strcpy(*iconrow++,"/^\\");
- X! strcpy(*iconrow,"\\_/");
- X break;
- X! case ':':
- X strcpy(*iconrow++,". .");
- X! strcpy(*iconrow," . ");
- X break;
- X! case '/':
- X strcpy(*iconrow++," _/");
- X! strcpy(*iconrow,"/ ");
- X break;
- X case '\\':
- X strcpy(*iconrow++,"\\_ ");
- X! strcpy(*iconrow," \\");
- X break;
- X! case '*':
- X strcpy(*iconrow++,"/$\\");
- X! strcpy(*iconrow, "\\$/");
- X break;
- X! case '=':
- X strcpy(*iconrow++,"=-=");
- X strcpy(*iconrow, "-=-");
- X break;
- X! case '@':
- X strcpy(*iconrow++," o ");
- X strcpy(*iconrow, "<|>");
- X break;
- X! case 'T':
- X strcpy(*iconrow++,"(*)");
- X strcpy(*iconrow, "(*)");
- X break;
- X! case 'X':
- X strcpy(*iconrow++,"Way");
- X strcpy(*iconrow, "Out");
- X break;
- X! case '!':
- X strcpy(*iconrow++," I ");
- X strcpy(*iconrow, " o ");
- X break;
- X! case 'M':
- X strcpy(*iconrow++,"}o{");
- X strcpy(*iconrow, "/^\\");
- X break;
- X! case 'S':
- X strcpy(*iconrow++,"-o-");
- X strcpy(*iconrow, "/*\\");
- X break;
- X! case 'C':
- X strcpy(*iconrow++," ");
- X strcpy(*iconrow, "<O>");
- X break;
- X! case '+':
- X strcpy(*iconrow++,"TTT");
- X strcpy(*iconrow, "III");
- X break;
- X--- 9,87 ----
- X (*iconrow)[4] = icon;
- X switch(ch)
- X {
- X! case ' ': /* space */
- X! strcpy(*iconrow++," ");
- X! strcpy(*iconrow, " ");
- X break;
- X! case '#': /* rock */
- X strcpy(*iconrow++,"###");
- X! strcpy(*iconrow, "###");
- X break;
- X! case '<': /* arrows */
- X strcpy(*iconrow++,"<--");
- X! strcpy(*iconrow, "<--");
- X break;
- X case '>':
- X strcpy(*iconrow++,"-->");
- X! strcpy(*iconrow, "-->");
- X break;
- X! case 'O': /* boulder */
- X strcpy(*iconrow++,"/^\\");
- X! strcpy(*iconrow, "\\_/");
- X break;
- X! case ':': /* earth */
- X strcpy(*iconrow++,". .");
- X! strcpy(*iconrow, " . ");
- X break;
- X! case '/': /* slopes */
- X strcpy(*iconrow++," _/");
- X! strcpy(*iconrow, "/ ");
- X break;
- X case '\\':
- X strcpy(*iconrow++,"\\_ ");
- X! strcpy(*iconrow, " \\");
- X break;
- X! case '*': /* diamond */
- X strcpy(*iconrow++,"/$\\");
- X! strcpy(*iconrow, "\\$/");
- X break;
- X! case '=': /* rock */
- X strcpy(*iconrow++,"=-=");
- X strcpy(*iconrow, "-=-");
- X break;
- X! case '@': /* YOU!!! */
- X strcpy(*iconrow++," o ");
- X strcpy(*iconrow, "<|>");
- X break;
- X! case 'T': /* teleport */
- X strcpy(*iconrow++,"(*)");
- X strcpy(*iconrow, "(*)");
- X break;
- X! case 'X': /* exits */
- X strcpy(*iconrow++,"Way");
- X strcpy(*iconrow, "Out");
- X break;
- X! case '!': /* landmine */
- X strcpy(*iconrow++," I ");
- X strcpy(*iconrow, " o ");
- X break;
- X! case 'M': /* big monster */
- X strcpy(*iconrow++,"}o{");
- X strcpy(*iconrow, "/^\\");
- X break;
- X! case 'S': /* baby monster */
- X strcpy(*iconrow++,"-o-");
- X strcpy(*iconrow, "/*\\");
- X break;
- X! case '^': /* balloon */
- X! strcpy(*iconrow++,"/~\\");
- X! strcpy(*iconrow, "\\_X");
- X! break;
- X! case 'C': /* time capsule */
- X strcpy(*iconrow++," ");
- X strcpy(*iconrow, "<O>");
- X break;
- X! case '+': /* cage */
- X strcpy(*iconrow++,"TTT");
- X strcpy(*iconrow, "III");
- X break;
- X*** m.c.orig Tue Nov 29 16:43:23 1988
- X--- m.c Tue Nov 29 16:44:52 1988
- X***************
- X*** 12,17 ****
- X--- 12,18 ----
- X char screen[NOOFROWS][ROWLEN+1];
- X int edit_mode = 0;
- X int saved_game = 0;
- X+ char *edit_screen;
- X
- X main(argc,argv)
- X int argc;
- X***************
- X*** 28,33 ****
- X--- 29,35 ----
- X if(!strcmp(argv[1], "-e"))
- X {
- X edit_mode = 1;
- X+ edit_screen = NULL;
- X }
- X else if(!strcmp(argv[1], "-m"))
- X {
- X***************
- X*** 58,71 ****
- X }
- X else
- X {
- X! fprintf(stderr,"Usage: %s [ -e | -m | -c | -s | -f ]\n",argv[0]);
- X exit(1);
- X }
- X }
- X if(argc > 2)
- X {
- X! fprintf(stderr,"Usage: %s [ -e | -m | -c | -s | -f ]\n",argv[0]);
- X! exit(1);
- X }
- X
- X /* check for passwords - if file no_pws is in screen dir no pws! */
- X--- 60,81 ----
- X }
- X else
- X {
- X! fprintf(stderr,"Usage: %s [ -e [ file ] | -m | -c | -s | -f ]\n",argv[0]);
- X exit(1);
- X }
- X }
- X if(argc > 2)
- X {
- X! if(!strcmp(argv[1],"-e"))
- X! {
- X! edit_mode = 1;
- X! edit_screen = argv[2];
- X! }
- X! else
- X! {
- X! fprintf(stderr,"Usage: %s [ -e [ file ] | -m | -c | -s | -f ]\n",argv[0]);
- X! exit(1);
- X! }
- X }
- X
- X /* check for passwords - if file no_pws is in screen dir no pws! */
- X*** read.c.orig Tue Nov 29 16:43:13 1988
- X--- read.c Tue Nov 29 16:44:55 1988
- X***************
- X*** 1,6 ****
- X--- 1,7 ----
- X #include "wand_head.h"
- X
- X extern int edit_mode;
- X+ extern char *edit_screen;
- X extern char screen[NOOFROWS][ROWLEN+1];
- X
- X int rscreen(num,maxmoves)
- X***************
- X*** 13,22 ****
- X if(!edit_mode)
- X sprintf(name,"%s/screen.%d",SCREENPATH,num);
- X else
- X! sprintf(name,"./screen");
- X fp = fopen(name,"r");
- X if(fp == NULL)
- X! printf("\nFile for screen %d unavailable.\n\n",num) ;
- X else
- X {
- X for(y = 0;y<NOOFROWS;y++)
- X--- 14,33 ----
- X if(!edit_mode)
- X sprintf(name,"%s/screen.%d",SCREENPATH,num);
- X else
- X! {
- X! if(!edit_screen)
- X! sprintf(name,"./screen");
- X! else
- X! sprintf(name,"%s",edit_screen);
- X! }
- X fp = fopen(name,"r");
- X if(fp == NULL)
- X! {
- X! if(edit_mode)
- X! printf("\nCannot find file %s.\n\n",name);
- X! else
- X! printf("\nFile for screen %d unavailable.\n\n",num) ;
- X! }
- X else
- X {
- X for(y = 0;y<NOOFROWS;y++)
- X***************
- X*** 36,43 ****
- X {
- X int y,x;
- X FILE *fp;
- X char (*row_ptr)[ROWLEN+1] = screen;
- X! fp = fopen("./screen","w");
- X if(fp == NULL)
- X printf("\nFile for screen cannot be written.\n\n") ;
- X else
- X--- 47,68 ----
- X {
- X int y,x;
- X FILE *fp;
- X+ char name[50];
- X char (*row_ptr)[ROWLEN+1] = screen;
- X! if(!edit_screen)
- X! sprintf(name,"./screen");
- X! else
- X! sprintf(name,"%s",edit_screen);
- X! fp = fopen(name,"w");
- X! if(fp == NULL)
- X! {
- X! sprintf(name,"/tmp/screen.%d",getpid());
- X! fp = fopen(name,"w");
- X! move(21,0);
- X! addstr("Written file is ");
- X! addstr(name);
- X! refresh();
- X! }
- X if(fp == NULL)
- X printf("\nFile for screen cannot be written.\n\n") ;
- X else
- X*** save.c.orig Tue Nov 29 16:43:25 1988
- X--- save.c Tue Nov 29 16:45:02 1988
- X***************
- X*** 1,8 ****
- X--- 1,10 ----
- X #include "wand_head.h"
- X+ #include <errno.h>
- X
- X extern char screen[NOOFROWS][ROWLEN+1];
- X extern int saved_game;
- X
- X+ extern void crypt_file();
- X struct saved_game {
- X short num;
- X short score;
- X***************
- X*** 37,43 ****
- X gets(fp);
- X }
- X if ((FILE *)NULL == (fo = fopen(fp, W_BIN))) {
- X! printf("Open error on '%s'n", fp);
- X exit(1);
- X }
- X
- X--- 39,45 ----
- X gets(fp);
- X }
- X if ((FILE *)NULL == (fo = fopen(fp, W_BIN))) {
- X! perror(fp);
- X exit(1);
- X }
- X
- X***************
- X*** 76,82 ****
- X }
- X
- X fclose(fo);
- X!
- X exit(0);
- X }
- X
- X--- 78,86 ----
- X }
- X
- X fclose(fo);
- X! #ifndef NO_ENCRYPTION
- X! crypt_file(fp,0); /* encrpyt the saved game */
- X! #endif
- X exit(0);
- X }
- X
- X***************
- X*** 103,112 ****
- X }
- X clear();
- X refresh();
- X!
- X if ((FILE *)NULL == (fi = fopen(fp, R_BIN))) {
- X endwin();
- X! printf("Open error on '%s'n", fp);
- X exit(1);
- X }
- X if ( (1 != fread((char *)&s, sizeof(s), 1, fi)) ||
- X--- 107,119 ----
- X }
- X clear();
- X refresh();
- X! #ifndef NO_ENCRYPTION
- X! crypt_file(fp,1); /*decrypt it*/
- X! #endif
- X if ((FILE *)NULL == (fi = fopen(fp, R_BIN))) {
- X endwin();
- X! printf("Open error on '%s'\n", fp);
- X! printf("Cannot restore game --- sorry.\n");
- X exit(1);
- X }
- X if ( (1 != fread((char *)&s, sizeof(s), 1, fi)) ||
- X***************
- X*** 114,119 ****
- X--- 121,127 ----
- X (1 != fread((char *)&zz, sizeof(zz), 1, fi)) ) {
- X endwin();
- X printf("Read error on '%s'n", fp);
- X+ printf("Cannot restore game --- sorry.\n");
- X fclose(fi);
- X exit(1);
- X }
- X***************
- X*** 150,155 ****
- X--- 158,164 ----
- X if ((struct mon_rec *)NULL == (mp = make_monster(0, 0))) {
- X endwin();
- X printf("Monster alloc error on '%s'n", fp);
- X+ printf("Try again - it might work.\nBut then,pigs might fly...\n");
- X fclose(fi);
- X exit(1);
- X }
- X***************
- X*** 156,161 ****
- X--- 165,171 ----
- X if (1 != fread((char *)&tmp_monst, sizeof(struct mon_rec), 1, fi)) {
- X endwin();
- X printf("Monster read error on '%s'n", fp);
- X+ printf("Cannot restore game --- sorry.\n");
- X fclose(fi);
- X exit(1);
- X }
- X*** wand_head.h.orig Tue Nov 29 16:43:17 1988
- X--- wand_head.h Tue Nov 29 16:45:09 1988
- X***************
- X*** 19,24 ****
- X--- 19,29 ----
- X /* change the numbers in this as well, but keep it in the same form */
- X #define PASSWD (num * num * 4373 + num * 16927 + 39)
- X
- X+ /* To disable the recording of hiscores from games restored from saves */
- X+ /* #define NO_RESTORED_GAME_HISCORES */
- X+ /* #define COMPARE_BY_NAME define this to compare by name, not uid */
- X+ #define GUESTUID 0 /* guestuid always compared by name */
- X+ /* #define NO_ENCRYPTION define this to disable the savefile encryptor */
- X /* cbreak switching via curses package. */
- X /* on some Ultrix systems you may need to use crmode() and nocrmode() */
- X /* if so, just change the #defs to the necessary. I also know that Xenix */
- X***************
- X*** 31,38 ****
- X #define CBOFF nocbreak()
- X #endif
- X
- X- /* To disable the recording of hiscores from games restored from saves */
- X- /* #define NO_RESTORED_GAME_HISCORES */
- X
- X /* MSDOS modifications (M001) by Gregory H. Margo */
- X #ifdef MSDOS
- X--- 36,41 ----
- END_OF_FILE
- if test 30930 -ne `wc -c <'patches01'`; then
- echo shar: \"'patches01'\" unpacked with wrong size!
- fi
- # end of 'patches01'
- fi
- if test -f 'screen.16' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'screen.16'\"
- else
- echo shar: Extracting \"'screen.16'\" \(700 characters\)
- sed "s/^X//" >'screen.16' <<'END_OF_FILE'
- XX! !! O OO O-
- X *! ! O + =*==*=*==*
- X!!! ! *O ! >>* * -
- X :\ >>>/ * -
- X \ >/ / -
- X : : : * / !<< /S -
- X>>O* : : /O><<<< * -
- X##* /*O* -
- X * #*#### O* !### -
- X* # # \* !##O# -
- X \O ###\<<<<\ !##O<## -
- X *< \::: #*## !#*#O -
- X ==== #### ## !#CC#* ===
- X = = C : ### !#CCC#/ *<=M
- X = = * @: : !#CC /=====-
- X+ S * : : !*CC / * -
- X########################################
- X50
- END_OF_FILE
- if test 700 -ne `wc -c <'screen.16'`; then
- echo shar: \"'screen.16'\" unpacked with wrong size!
- fi
- # end of 'screen.16'
- fi
- if test -f 'screen.21' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'screen.21'\"
- else
- echo shar: Extracting \"'screen.21'\" \(697 characters\)
- sed "s/^X//" >'screen.21' <<'END_OF_FILE'
- X*!>>O \*OOOOO />O \#T#X#O#O*
- X O ::!:::::::O \OOOOO/:#* # ::::<
- X#>: ::::::!#>#: \OOO/::# # # *## ###O#
- X####::#>* \: \O/ =# # #===# ## :#
- X* \ :<# # :: #O :<
- X###O/########### /# ##! ==###: A#
- X#O#>>>>>>>>>: *# >>: # #:::::#*#
- X>* *= O## \ ## ## !#:######*
- X# ##### ! :<# # !# # / :<
- X== =O !>: :=# / *< =# >< O @ #
- XO<#O: =* # !# =#= ======
- X*:: #!!!!! =# \ =# O# :<
- X############# =#O !#! ::==== !*
- X >: : / # ## !-
- X## # #### # # =========!-
- X* #!!!!!!!!!*::::#*# # #*>: -
- X########################################
- END_OF_FILE
- if test 697 -ne `wc -c <'screen.21'`; then
- echo shar: \"'screen.21'\" unpacked with wrong size!
- fi
- # end of 'screen.21'
- fi
- if test -f 'screen.22' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'screen.22'\"
- else
- echo shar: Extracting \"'screen.22'\" \(697 characters\)
- sed "s/^X//" >'screen.22' <<'END_OF_FILE'
- X* O <* \OOOOOO*/ #O* <<<<<
- X####:####=== O \OOOOO/ #*: <<<<
- X# : \OOO/ # #* <<<
- X##OO @ ##/ <*O/ # #* <<
- X*A:: ======= : ### *: *# <
- X##### \ #*> / *
- X =O =:===# ### \ / -
- X / <>* X # \ /OO !!! -
- X* =O O!===# =*=*> *! -
- X> \ :::::: === * !!! -
- X>> \ \ \ -
- X>>> \ \ ###-
- X>>>> OOOO * \ **#-
- X>>>>> \ # \ / ==== ==###-
- X::*:* *# # # # ===
- X* * *=**=*> *#*#*#T#>* * <*!!! *
- X########################################
- END_OF_FILE
- if test 697 -ne `wc -c <'screen.22'`; then
- echo shar: \"'screen.22'\" unpacked with wrong size!
- fi
- # end of 'screen.22'
- fi
- if test -f 'screen.23' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'screen.23'\"
- else
- echo shar: Extracting \"'screen.23'\" \(697 characters\)
- sed "s/^X//" >'screen.23' <<'END_OF_FILE'
- X/ *= #* ^O</T<
- X == :O O O O O O O O ###+\^^ :^
- X ^*::**: **:**:* OO /^#
- X>* / */ -
- X^/ \ OO # -
- X*\ * / ##:*<<\ S -
- X:=>: O\ ^^:*<</ -
- X*/ *<X @< / -
- X/ O/\ ^/ \#^#/ / + -
- X */ A\ /S #*# / -
- X O/ \ /* *\#/: -
- X*/ \ / ** : -
- X/ \ / ::: ==
- X== =====*==*: ==S-
- X* ^ ^ ^ ^ ^ ====* -
- X+=\ ^ *<<<<<<<
- X########################################
- END_OF_FILE
- if test 697 -ne `wc -c <'screen.23'`; then
- echo shar: \"'screen.23'\" unpacked with wrong size!
- fi
- # end of 'screen.23'
- fi
- echo shar: End of shell archive.
- exit 0
-